package com.itmei.sms.config;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.Data;
import org.springframework.beans.factory.config.YamlMapFactoryBean;
import org.springframework.core.io.ClassPathResource;

import java.util.Map;

/**
 * @author itmei
 * @Date 2023/2/18 11:48
 * @description: 短信供应商获取配置信息
 * @Title: SmsSupplierConfig
 * @Package com.itmei.sms.entity
 */
@Data
public class SmsSupplierConfig {
    /**
     * 主要配置使用
     */
    public final static JSONObject smsConfig;
    /**
     *  是否发送短信，后续可用配置来实现是否发送
     */
    public final static boolean smsSendOrNot;

    static {
        //静态代码块
        YamlMapFactoryBean yamlProFb = new YamlMapFactoryBean();
        yamlProFb.setResources(new ClassPathResource("SmsParamsConfig.yml"));
        Map<String, Object> map = yamlProFb.getObject();
        smsConfig = JSONUtil.parseObj(map).getJSONObject("itmei-sms-config");
        smsSendOrNot = smsConfig.getBool("sms_send_or_not");
    }

    /**
     * 得到对应场景
     * @param Code 使用服务商的唯一编码获取渠道信息
     * @param sceneCode
     * @return
     */
    public static String getSmsSceneCode(String Code,String sceneCode){
        return smsConfig.getJSONObject(Code)
                .getJSONObject("sms_scene").getStr(sceneCode);
    }
}
